package com.xuetang.mapper;

import com.xuetang.entity.DietRecipeStep;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 食谱步骤Mapper接口
 */
public interface DietRecipeStepMapper {

    /**
     * 根据食谱ID获取步骤列表
     * 
     * @param recipeId 食谱ID
     * @return 步骤列表
     */
    List<DietRecipeStep> listByRecipeId(@Param("recipeId") Integer recipeId);

    /**
     * 根据ID获取步骤
     * 
     * @param id 步骤ID
     * @return 步骤
     */
    DietRecipeStep getById(@Param("id") Integer id);

    /**
     * 新增步骤
     * 
     * @param step 步骤
     * @return 影响行数
     */
    int insert(DietRecipeStep step);

    /**
     * 批量新增步骤
     * 
     * @param steps 步骤列表
     * @return 影响行数
     */
    int batchInsert(@Param("steps") List<DietRecipeStep> steps);

    /**
     * 更新步骤
     * 
     * @param step 步骤
     * @return 影响行数
     */
    int update(DietRecipeStep step);

    /**
     * 删除步骤
     * 
     * @param id 步骤ID
     * @return 影响行数
     */
    int deleteById(@Param("id") Integer id);

    /**
     * 根据食谱ID删除步骤
     * 
     * @param recipeId 食谱ID
     * @return 影响行数
     */
    int deleteByRecipeId(@Param("recipeId") Integer recipeId);
}
